#!/usr/bin/env node

//编写 01-event-emitter.js 脚本
//实例化 EventEmitter 对象
//每隔 1 秒 EventEmitter 对象发出自定义 hello 事件
//延迟 5 秒 EventEmitter 对象发出自定义 bye 事件
//hello 事件处理函数在控制台打印 hello world 信息
//bye 事件处理函数在控制台打印 goodbye 信息，并结束程序
//2. 使用 EventEmitter 类

const {EventEmitter} = require('events');

const e = new EventEmitter();

e.once('hello',()=>{
  console.log('hello world1'); //如果没用下面的on事件只执行一次输出
})

e.on('hello',()=>{   //添加事件订阅
  console.log('hello world');
});

e.on('bye',()=>{
  console.log('goodbye');
  process.exit();
})

setInterval(()=>{
  e.emit('hello'); //触发事件
},1000);

setTimeout(()=>{
  e.emit('bye');
},5000);

console.log(e.eventNames()); //名字
console.log(e.listenerCount('hello'));  //订阅的数量 2
console.log(e.listenerCount('bye'));  //1
